package com.zy.nft_system.service;

import com.zy.nft_system.domain.Result;
import com.zy.nft_system.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.nft_system.domain.dto.UserDto;
import com.zy.nft_system.domain.dto.UserInfo;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
* @author 这是那头猪？
* @description 针对表【t_user(用户信息表)】的数据库操作Service
* @createDate 2022-09-28 12:20:39
*/
public interface UserService extends IService<User> {
    //注册方法
    Result regist(@RequestBody User user);
    //用户登录
    Result login(User user, HttpServletRequest request);
    //用户退出
    Result loginOut(User user, HttpServletRequest request);
    //更具id查询用户信息
    Result userInfo(int id);
    //修改用户信息
    Result setUserInfo(User user);
    //修改用户密码
    Result setUserPwd(UserDto userDto, HttpServletRequest request);
    //修改用户头像
    Result setUserImg(MultipartFile file,String name);
    //查询全部用户信息
    Result queryUserList(String name, String iphone, Integer status);
    //上传用户头像信息，返回头像地址
    Result uploadUserImg(MultipartFile file);
    //插入用户
    Result insertUser(UserInfo userInfo);
    //更具id查询用户信息
    Result queryUser(int id);
    //更具用户id删除用户信息
    Result deleteUser(int id);
    //更具用户id修改用户信息
    Result updateUserInfo(UserInfo userInfo);
    //更具id修改用户状态信息
    Result updateUserStatus(UserInfo userInfo);
    //查询所有的管理员name
    Result queryManageUser(boolean emil);
}
